package com.yllt4cloud.ddauth.mapper.base;

import java.util.List;
import java.util.Map;

/**
 * <p><b>类名称：</b>BaseMapper </p>
 * <p><b>类描述：</b>mapper基础方法</p>
 * <p><b>日期：</b>2015-4-11 上午11:03:04</p>
 *
 * @author yaozq
 */
public interface BaseMapper<T> {

    int deleteByPrimaryKey(int id);

    int insert(T record);

    T selectByPrimaryKey(int id);

    int updateByPrimaryKeySelective(T record);

    int updateByPrimaryKey(T record);

    /**
     * <p><b>作用：</b>批量更新部分数据数据</p>
     * <p><b>日期：</b>2018-10-16 下午4:36:25</p>
     * <p><b>作者：</b>曹历历</p>
     *
     * @param list
     * @return
     * @throws
     */
    int updateBatchSelective(List<T> list);

    List<T> query(Map<String, Object> paramMap);

    int queryByCount(Map<String, Object> paramMap);

    int insertBatch(List<T> list);

    int deleteBatch(Map<String, Object> paramMap);

    List<Integer> queryIds(Map<String, Object> paramMap);
}
